----------------------------------------


CREATE TRIGGER `te_casos_inventarios_prestamos_after_ins_tr` AFTER INSERT ON `te_casos_inventarios_prestamos`
  FOR EACH ROW
BEGIN
     UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='PRESTADO' WHERE a.c32_inventario_id=new.c32_inventario_id and a.v32_usuario_inventario_estado='ASIGNADO';
     UPDATE tm_inventarios b set b.v32_inventario_estado='PRESTADO' WHERE b.c32_inventario_id=new.c32_inventario_id and b.v32_inventario_estado='DISPONIBLE';
END;

CREATE TRIGGER `te_casos_inventarios_prestamos_after_upd_tr` AFTER UPDATE ON `te_casos_inventarios_prestamos`
  FOR EACH ROW
BEGIN
     IF(NEW.v32_prestamo_estado="INACTIVO") THEN
          UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='ASIGNADO' WHERE a.c32_inventario_id=OLD.c32_inventario_id and a.v32_usuario_inventario_estado='PRESTADO';
          UPDATE tm_inventarios b set b.v32_inventario_estado='ASIGNADO' WHERE b.c32_inventario_id=OLD.c32_inventario_id and b.v32_inventario_estado='PRESTADO';
     END IF;
     
     IF(NEW.v32_prestamo_estado="ACTIVO") THEN
          UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='PRESTADO' WHERE a.c32_inventario_id=new.c32_inventario_id and a.v32_usuario_inventario_estado='ASIGNADO';
          UPDATE tm_inventarios b set b.v32_inventario_estado='PRESTADO' WHERE b.c32_inventario_id=new.c32_inventario_id and b.v32_inventario_estado='DISPONIBLE';
     END IF;
     
END;

CREATE TRIGGER `te_casos_inventarios_prestamos_after_del_tr` AFTER DELETE ON `te_casos_inventarios_prestamos`
  FOR EACH ROW
BEGIN
     UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='ASIGNADO' WHERE a.c32_inventario_id=OLD.c32_inventario_id and a.v32_usuario_inventario_estado='PRESTADO';
     UPDATE tm_inventarios b set b.v32_inventario_estado='ASIGNADO' WHERE b.c32_inventario_id=OLD.c32_inventario_id and b.v32_inventario_estado='PRESTADO';
END;

-----------------------------------------

CREATE TRIGGER `te_casos_inventarios_remisiones_after_ins_tr` AFTER INSERT ON `te_casos_inventarios_remisiones`
  FOR EACH ROW
BEGIN
     UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='REMITIDO' WHERE a.c32_inventario_id=new.c32_inventario_id and a.v32_usuario_inventario_estado='ASIGNADO';
     UPDATE tm_inventarios b set b.v32_inventario_estado='REMITIDO' WHERE b.c32_inventario_id=new.c32_inventario_id and b.v32_inventario_estado='ASIGNADO';
END;

CREATE TRIGGER `te_casos_inventarios_remisiones_after_upd_tr` AFTER UPDATE ON `te_casos_inventarios_remisiones`
  FOR EACH ROW
BEGIN
     IF(NEW.v32_remision_estado="INACTIVO") THEN
       UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='ASIGNADO' WHERE a.c32_inventario_id=OLD.c32_inventario_id and a.v32_usuario_inventario_estado='REMITIDO';
       UPDATE tm_inventarios b set b.v32_inventario_estado='ASIGNADO' WHERE b.c32_inventario_id=OLD.c32_inventario_id and b.v32_inventario_estado='REMITIDO';
     END IF;
     IF(NEW.v32_remision_estado="ACTIVO") THEN
        UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='REMITIDO' WHERE a.c32_inventario_id=new.c32_inventario_id and a.v32_usuario_inventario_estado='ASIGNADO';
     UPDATE tm_inventarios b set b.v32_inventario_estado='REMITIDO' WHERE b.c32_inventario_id=new.c32_inventario_id and b.v32_inventario_estado='ASIGNADO';
     END IF;
END;

CREATE TRIGGER `te_casos_inventarios_remisiones_after_del_tr` AFTER DELETE ON `te_casos_inventarios_remisiones`
  FOR EACH ROW
BEGIN
     UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='ASIGNADO' WHERE a.c32_inventario_id=OLD.c32_inventario_id and a.v32_usuario_inventario_estado='REMITIDO';
     UPDATE tm_inventarios b set b.v32_inventario_estado='ASIGNADO' WHERE b.c32_inventario_id=OLD.c32_inventario_id and b.v32_inventario_estado='REMITIDO';
END;

------------------------------------------------

CREATE TRIGGER `te_usuarios_inventarios_after_ins_tr` AFTER INSERT ON `te_usuarios_inventarios`
  FOR EACH ROW
BEGIN
     update tm_inventarios a set a.v32_inventario_estado='ASIGNADO' WHERE a.c32_inventario_id=new.c32_inventario_id AND a.v32_inventario_estado='DISPONIBLE';
END;

CREATE TRIGGER `te_usuarios_inventarios_after_del_tr` AFTER DELETE ON `te_usuarios_inventarios`
  FOR EACH ROW
BEGIN
     UPDATE tm_inventarios a set a.v32_inventario_estado='DISPONIBLE' WHERE  a.c32_inventario_id=OLD.c32_inventario_id and a.v32_inventario_estado='ASIGNADO';
END;

--------------------------------------------------


CREATE TRIGGER `tm_inventarios_after_upd_tr` AFTER UPDATE ON `tm_inventarios`
  FOR EACH ROW
BEGIN
     IF(NEW.v32_inventario_estado="FUERA_DE_USO") THEN
       UPDATE te_usuarios_inventarios a set a.v32_usuario_inventario_estado='FUERA_DE_USO' WHERE a.c32_inventario_id=NEW.c32_inventario_id;
     END IF;
END;


----------------------------------------------------
--TRIGGER PARA MANEJAR LOS TIEMPOS POR ESTADO
CREATE TRIGGER `tm_casos_after_ins_tr` AFTER INSERT ON `tm_casos`
  FOR EACH ROW
BEGIN
REPLACE INTO
te_casos_estado_caso_tiempos(
i10_caso_id,
i2_estado_caso_id,
dt_fecha_inicio,
dt_fecha_fin,
hm_hora_inicio,
hm_hora_fin)
VALUES
(
NEW.i10_caso_id,
NEW.i2_estado_caso_id,
DATE(now()),
DATE(now()),
TIME(now()),
TIME(now()));
END;
--------------------------------------------------------------------------
CREATE TRIGGER `tm_casos_after_upd_tr` AFTER UPDATE ON `tm_casos`
  FOR EACH ROW
BEGIN
 IF(NEW.i2_estado_caso_id!=OLD.i2_estado_caso_id) THEN
       UPDATE
       te_casos_estado_caso_tiempos a
       SET
       a.dt_fecha_fin=DATE(now()),
       a.hm_hora_fin=TIME(now())
       WHERE
       a.i10_caso_id=OLD.i10_caso_id
       AND
       a.i2_estado_caso_id=OLD.i2_estado_caso_id
       ;
       
       REPLACE INTO
       te_casos_estado_caso_tiempos(
       i10_caso_id,
       i2_estado_caso_id,
       dt_fecha_inicio,
       dt_fecha_fin,
       hm_hora_inicio,
       hm_hora_fin)
       VALUES
       (
       NEW.i10_caso_id,
       NEW.i2_estado_caso_id,
       DATE(now()),
       DATE(now()),
       TIME(now()),
       TIME(now()));
 END IF;
END;